import axios from 'axios'
import { ElMessage ,ElLoading} from 'element-plus'
import storage from "store";
import store from '../vstore/index'
const serves = axios.create({
  baseURL: 'http://127.0.0.1:8099',
  timeout: 900000
})

// 设置请求发送之前的拦截器
serves.interceptors.request.use((config: any) => {
  // 设置发送之前数据需要做什么处理
  config.headers.token = storage.get("token");
  return config
}, (err: any) => Promise.reject(err))

// 设置请求接受拦截器
serves.interceptors.response.use((res: any) => {
  // 设置接受数据之后，做什么处理
  if(res.status === 200 && res.data.code === 0){
    return res.data
  }else {
    ElMessage.error(res.data.msg)
    if(res.data.code === 401){
      store.dispatch("LoginOut")
    }
    return Promise.reject(res);
  }
}, (err: any) => {
  // 判断请求异常信息中是否含有超时timeout字符串
  ElMessage.error('系统错误！')
  return Promise.reject(err)
})

// 将serves抛出去
export default serves
